package com.blq.snblib.base;

import android.app.Activity;
import android.os.Bundle;

import com.blq.snblib.util.MLog;

/**
 * ================================================
 * 作者: SSNB
 * 日期: 2016/8/29
 * 描述:
 *  继承activity，抽象初始化数据对象，初始化view和绑定事件的方法
 * ================================================
 */
public abstract class BaseActivity extends Activity{
    private static final String TAG = BaseActivity.class.getSimpleName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        MLog.e(TAG,this.getClass().getSimpleName());
        setContentView(contentView());
        initData();
        initView();
        bindEvent();
        operation();
    }

    /**
     * 返回activity的对应的layout布局
     * @return 返回activity对应的Layout布局id
     */
    protected abstract int contentView();

    /**
     * 初始化数据对象
     */
    protected abstract void initData();

    /**
     * 初始化view对象
     */
    protected abstract void initView();

    /**
     * 绑定事件
     */
    protected abstract void bindEvent();

    /**
     * 初始化完后执行的操作
     */
    protected abstract void operation();

    @Override
    protected void onDestroy() {
        super.onDestroy();
        MLog.e(this.getClass().getSimpleName(),"onDestroy");
    }
}
